package com.jerry.hm.datastructure.stack;

/**
 * 栈
 *
 * @author Jerry
 * @since 2024/10/3 17:06
 */
public interface Stack<E> {

    /**
     * 向栈顶压入元素
     *
     * @param e
     * @return
     */
    boolean push(E e);

    /**
     * 从栈顶弹出元素
     *
     * @return
     */
    E pop();

    /**
     * 获取栈顶的元素
     *
     * @return
     */
    E peek();

    /**
     * 栈是否为空
     *
     * @return
     */
    boolean isEmpty();

    /**
     * 栈是否满
     *
     * @return
     */
    boolean isFull();
}
